package org.cunamas.core.dao.impl;

import java.util.Date;
import java.util.List;

import javax.sql.DataSource;

import org.cunamas.core.bean.PracticesInputBean;
import org.cunamas.core.dao.PracticasCrianzaDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;


@Component
public class PracticasCrianzaDaoJdbcImpl implements PracticasCrianzaDao {
	
	private JdbcTemplate jdbcTemplate;
	
	private final static String SQL_DELETE = "delete from dbo.CM_PRACTICAS where ANIO = ?";
	
	private final static String SQL_INSERT = "insert into dbo.CM_PRACTICAS(ANIO,GRUPOSEDE,CODUBIGEO,DEP,PRO,DIS," +
			"CODCOMGES,NOMCOMGES,PJUEGO,PLAVADOMANOS,PALIMENTACIONACTIVA,PCEPILLADODENTAL,FECCREA) " +
										  "values (?,?,?,?,?,?,?,?,?,?,?,?,?)";

	
	@Autowired
	public void setJdbcTemplate(DataSource dataSource) {
		 this.jdbcTemplate = new JdbcTemplate(dataSource);
	}
	
	public void persistPracticasCrianza(List<PracticesInputBean> practicesInputBeanList){
		if(practicesInputBeanList==null) return;
		
		for (PracticesInputBean practicesInputBean : practicesInputBeanList) {

			jdbcTemplate.update(SQL_INSERT, 
					new Object[] { practicesInputBean.getAnio(), practicesInputBean.getGrupoSede(),
					practicesInputBean.getCodigoUbigeo(), practicesInputBean.getDepartamento(),
					practicesInputBean.getProvincia(), practicesInputBean.getDistrito(),
					practicesInputBean.getCodigoComiteGestion(), practicesInputBean.getNombreComiteGestion(),
					practicesInputBean.getPuntuacionJuego(), practicesInputBean.getPuntuacionLavadoManos(),
					practicesInputBean.getPuntuacionAlimentacionActiva(), practicesInputBean.getPuntuacionCepilladoDental(),
					new Date()
					});
			
		}

	}
	
	
	public void deletePracticasCrianzasByAnio(Long anio){
		jdbcTemplate.update(SQL_DELETE, anio);
	}

}
